9 research outputs found

    Revisiting Interest Indicators Derived from Web Reading Behavior for Implicit User Modeling

    Full text link
    Today, intelligent user interfaces on the web often come in form of recommendation services tailoring content to individual users. Recommendation of web content such as news articles often requires a certain amount of explicit ratings to allow for satisfactory results, i.e., the selection of content actually relevant for the user. Yet, the collection of such explicit ratings is time-consuming and dependent on users' willingness to provide the required information on a regular basis. Thus, using implicit interest indicators can be a helpful complementation to relying on explicitly entered information only. Analysis of reading behavior on the web can be the basis for the derivation of such implicit indicators. Previous work has already identified several indicators and discussed how they can be used as a basis for user models. However, most earlier work is either of conceptual nature and does not involve studies to prove the suggested concepts or relies on meanwhile potentially outdated technology. All earlier discussions of the topic further have in common that they do not yet consider mobile contexts. This paper builds upon earlier work, however providing a major update regarding technology and web reading context, distinguishing between desktop and mobile settings. This update also allowed us to identify a set of new indicators that so far have not yet been discussed. This paper describes (i) our technical work, a framework for analyzing user interactions with the browser relying on latest web technologies, (ii) the implicit interest indicators we either revisited or newly identified, and (iii) the results of an online study on web reading behavior as a basis for derivation of interest we conducted with 96 participants

    Automated verification of model transformations based on visual contracts

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s10515-012-0102-yModel-Driven Engineering promotes the use of models to conduct the different phases of the software development. In this way, models are transformed between different languages and notations until code is generated for the final application. Hence, the construction of correct Model-to-Model (M2M) transformations becomes a crucial aspect in this approach. Even though many languages and tools have been proposed to build and execute M2M transformations, there is scarce support to specify correctness requirements for such transformations in an implementation-independent way, i.e., irrespective of the actual transformation language used. In this paper we fill this gap by proposing a declarative language for the specification of visual contracts, enabling the verification of transformations defined with any transformation language. The verification is performed by compiling the contracts into QVT to detect disconformities of transformation results with respect to the contracts. As a proof of concept, we also report on a graphical modeling environment for the specification of contracts, and on its use for the verification of transformations in several case studies.This work has been funded by the Austrian Science Fund (FWF) under grant P21374-N13, the Spanish Ministry of Science under grants TIN2008-02081 and TIN2011-24139, and the R&D programme of the Madrid Region under project S2009/TIC-1650

    Reusing Model Transformations across Heterogeneous Metamodels

    Get PDF
    Model transformations are key enablers for multi-paradigm modeling. However, currently there is little support for reusing transformations in different contexts since they are tightly coupled to the metamodels they are defined upon, and hence reusing them for other metamodels becomes challenging. Inspired from generic programming, we proposed generic model-to-model transformations, which are defined over so-called metamodel concepts, which are later bound to specific metamodels. Nevertheless, the current binding mechanism lacks automated resolution support for recurring structural heterogeneities between metamodels. Therefore, based on a systematic classification of heterogeneities, we propose a flexible binding mechanism being able to automatically resolve recurring structural heterogeneities between metamodels. For this, the binding model is analyzed and required adaptors are automatically added to the transformation

    Testing and debugging of model transformations

    No full text
    Zsfassung in dt. SpracheModel-Driven Engineering (MDE) proposes an active use of models to conduct the different phases of software development. The major vision is a shift from the idea of "everything is an object" in the object-oriented paradigm to the idea of "everything is a model" in MDE.Following this vision, it becomes obvious that transformations between models play a key role. Just like any other software, transformations should be engineered using sound and robust engineering techniques.However, current transformation languages focus on the implementation of transformations, but fail to provide means for analysis, design, testing and debugging.In particular, to support analysis and design, means are needed that allow to formally describe the requirements of a certain transformation in order to allow for automatic validation in the testing phase. In case of a failure, additional means are needed to debug model transformations. However, current transformation languages provide only scarce support for debugging. This is mainly due to the fact that low-level information of an according execution engine is provided only, e.g., variable values. Finally, the operational semantics is hidden by these execution engines, which further aggravates finding failures and hampers understanding of transformation specifications.To tackle the aforementioned limitations, this thesis provides three main contributions. First, a declarative, visual language called PAMOMO is proposed, which allows to formally specify requirements on model transformations by means of contracts. To test if a model transformation fulfills the specified requirements, the contracts are compiled into check-only QVT Relations, providing dedicated error traces in case a contract fails. These traces may then be used as hints for debugging. To support debugging, Transformation Nets are proposed, which provide a dedicated runtime model for model transformations, making the hidden operational semantics explicit as a second major contribution. Finally, based on this runtime model various means of debugging are presented as a third contribution.To evaluate the contributions, relations to competing approaches are drawn in a first step. Second, case studies are used to show the applicability of the presented approaches. To evaluate the runtime model, the operational semantics of dedicated transformation languages is made explicit in terms of Transformation Nets. Finally, the debugging support is evaluated again by case studies and a first user study.Modellgetriebene Softwareentwicklung rückt Modelle ins Zentrum des Softwareentwicklungsprozesses. Dadurch nehmen Modelle die Rolle von Objekten in der objektorientierten Softwareentwicklung ein. Durch diese zentrale Rolle entsteht die Notwendigkeit Transformationen zwischen Modellen durchzuführen. Analog zur traditionellen Softwareentwicklung sollen Modelltransformationen auf fundierte Sprachen undWerkzeuge zurück greifen können. Aktuelle Transformationssprachen fokussieren allerdings nur auf die Implementierungsphase und berücksichtigen weitere Phasen wie Analyse, Design, Testen und Fehlersuche nur unzureichend. Für die Analyse- und Designphase werden Mittel benötigt, die es dem Transformationsentwickler erlauben, die Anforderungen formal zu spezifizieren und diese dann in der Testphase gegen die implementierte Transformation zu validieren. Für den Fall, dass Anforderungen nicht erfüllt sind, werden Werkzeuge und Mechanismen zur Fehlersuche benötigt.Aktuell verwendete Transformationssprachen bieten hierbei aber nur unzureichende Unterstützung, da sie nur Informationen bereit stellen, die von den jeweiligen Laufzeitumgebungen zur Verfügung gestellt werden. Da diese typischerweise in einer Programmiersprache wie z.B. Java entwickelt sind, bestehen solche Informationen meist nur aus Werten von Variablenbelegungen. Des Weiteren verstecken die auf niedrigem Abstraktionsniveau arbeitenden Laufzeitumgebungen die Ausführungssemantik der Transformation, was die Fehlersuche zusätzlich erschwert.Um diese Einschränkungen aufzuheben, werden im Rahmen der Arbeit drei Hauptbeiträge erarbeitet. Als erster Beitrag wird die deklarative Sprache PAMOMO vorgestellt, die eine Spezifikation von Transformations-Kontrakten ermöglicht. Um zu testen, ob Transformationen die Kontrakte erfüllen, wird QVT Relations verwendet, um im Fehlerfall Information zu erhalten, die im weiterem für die Fehlersuche verwendet werden kann. Transformationsnetze stellen als zweiten Hauptbeitrag ein explizites Laufzeitmodell für Transformationen zur Verfügung und legen dadurch deren operationale Semantik offen.Dieses Laufzeitmodell bildet damit die Grundlage für Methoden zur Unterstützung bei der Fehlersuche.Zur Evaluierung der Arbeit werden Vergleiche zu bestehenden Arbeiten gezogen. Mittels Fallbeispielen wird die Anwendbarkeit der vorgestellten Konzepte gezeigt. Um die Laufzeitumgebung zu evaluieren, wird die Ausführungssemantik existierender Transformationssprachen auf Transformationsnetze abgebildet. Dadurch können auch diese Sprachen von den vorgeschlagenen Methoden zur Fehlersuche profitieren, was wiederum mittels Fallbeispielen gezeigt wird.26
    corecore